Cloud architectures are used in cloud computing and cloud storage systems for offering infrastructure-as-a-service (IaaS) cloud services. Examples of cloud architectures include the VMware vCloud Director® cloud architecture software, Amazon EC2™ web service, and OpenStack™ open source cloud computing service. IaaS cloud service is a type of cloud service that provides access to physical and/or virtual resources in a cloud environment. These services provide a tenant application programming interface (API) that supports operations for manipulating IaaS constructs, such as virtual machines (VMs) and logical networks.
A hybrid cloud system aggregates the resource capabilities from both private and public clouds. A private cloud can include one or more customer data centers (referred to herein as “on-premise data centers”). The public cloud can include a multi-tenant cloud architecture providing IaaS cloud services geographically distributed in different regions of the world. In addition, public clouds provide subscription model and companies can purchase multiple subscriptions with different resources and capabilities. In a public cloud system, it is desirable to support VM deployment in the most appropriate subscription of a public cloud. Presently, to implement VM deployment, a customer must first select the subscription to be used within the public cloud and then proceed with deployment of the VM. This process has the disadvantages of requiring significant manual effort and needing for the person doing deployment to have access to the actual subscriptions. Both disadvantages are problematic for enterprises and other organizations have a large number of users and subscriptions.